<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/plugins/layui/css/layui.css" media="all">
    <link rel="stylesheet" type="text/css" href="/build/css/css/font-awesome.min.css">
    <link rel="stylesheet" type="text/css" href="/css/my-style.css">
    <link th:href="@{/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css}" rel="stylesheet"/>
</head>
<style>
    .layui-form-label {
        width: 86px;
        padding: 9px 9px;
    }
</style>
<body>

<!--选择项目经理弹出 table-->
<div id="hidden1" lay-filter="hidden1" style="display: none">
    <table id="user_result" lay-filter="projectManager_result"></table>
</div>

<!-- 添加 弹出用户表格的 tool（里面的按钮）-->
<script type="text/html" id="hidden1-table-tool">
    <a class="layui-btn layui-btn-xs" lay-event="select">选择</a>
</script>

<!-- 弹框content -->
<div id="modal-content1" style="padding:20px;">
    <form class="layui-form" action="">
        <input type="hidden" id="id" th:value="${project.getId()}">
        <div class="layui-form-item">
            <label class="layui-form-label">项目名 <span style="color: #ff393c;">★</span>：</label>
            <div class="layui-input-block">
                <input type="text" name="projectName" required lay-verify="required"
                       placeholder="请输入项目名"
                       autocomplete="off" class="layui-input"
                       th:value="${project.getProjectName()}">
            </div>
        </div>
        <div id="pro-manager" class="layui-form-item">
            <label class="layui-form-label">项目经理
                <span style="color: #ff393c;">★</span>：
            </label>
            <div class="layui-input-block">
                <input id="projectManager" type="text" name="managerName" required lay-verify="required"
                       placeholder="请选择项目经理"
                       autocomplete="off" class="layui-input"
                       th:value="${project.getManagerName()}">
                <input id="manager" type="text" name="manager" required lay-verify="required"
                       autocomplete="off" class="layui-input" style="display: none"
                       th:value="${project.getManager()}">
            </div>

        </div>
        <div id="select-dept" class="layui-form-item">
            <input name="deptId" type="hidden" id="treeId"/>
            <label class="layui-form-label">选择部门
                <span style="color: #ff393c;">★</span>：
            </label>
            <div class="layui-input-block" style="height: 200px;overflow-y: scroll">
                <div id="tree" class="ztree"></div>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">开始时间
                <span style="color: #ff393c;">★</span>：
            </label>
            <div class="layui-input-block">
                <input type="text" class="layui-input" id="startDate" name="startDate" placeholder="yyyy-MM-dd" th:value="${#dates.format(project.getStartDate(), 'yyyy-MM-dd')}"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">结束时间
                <span style="color: #ff393c;">★</span>：
            </label>
            <div class="layui-input-block">
                <input type="text" class="layui-input" id="endDate" th:name="endDate" placeholder="yyyy-MM-dd" th:value="${#dates.format(project.getEndDate(), 'yyyy-MM-dd')}"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">总工时(小时)
                <span style="color: #ff393c;">★</span>：
            </label>
            <div class="layui-input-block">
                <input type="text" class="layui-input" id="worktimeTotal" th:name="worktimeTotal" th:value="${project.getWorktimeTotal()}"
                       lay-verify="required">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">启用/禁用</label>
            <div class="layui-input-block">
                <input type="checkbox" name="status" id="status" lay-skin="switch" lay-text="启用|禁用" lay-filter="switchStatus" th:checked="${project.status eq '0'} "/>
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">备注</label>
            <div class="layui-input-block">
                <textarea name="remark" placeholder="请输入内容" id="remark" class="layui-textarea" th:text="${project.getRemark()}"></textarea>
            </div>
        </div>
        <div class="layui-form-item">
            <div class="layui-input-block" style="margin-left: 50%;margin-top: 8%">
                <button class="layui-btn" lay-submit="" lay-filter="formDemo">立即提交</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>
    </form>
</div>
<script src="/plugins/layui/layui.js"></script>
<script type="text/javascript" src="../../static/js/jquery.min.js" th:src="@{/js/jquery.min.js}"></script>
<script th:src="@{/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js}"></script>
<script src="/js/ry-ui.js"></script>
<script>
    // 用户管理-新增-选择部门树*/
    function selectDeptTree() {
        var treeId = $("#treeId").val();
        var deptId = treeId == null || treeId == "" ? "100" : treeId;
        var url = "/system/dept/selectDeptTree/" + deptId;
        layer.open({
            title: "选择部门",
            type: 2,
            content: url,
            area: ['60%', '85%'],
            shadeClose: true
        });
    }
</script>
<script>
    layui.config({
        base: '/plugins/layui/'    //此处写的相对路径, 实际以项目中的路径为准
    }).extend({
        formSelects: 'formSelects'
    });
    // 增加项目表单
    layui.use(['form', 'layedit', 'table','laydate', 'jquery', 'formSelects'], function () {
        var form = layui.form
            , layer = layui.layer
            , layedit = layui.layedit
            , laydate = layui.laydate,
            formSelects = layui.formSelects;

        //常规用法
        laydate.render({
            elem: '#startDate'
        });
        laydate.render({
            elem: '#endDate'
        });

        //页面上隐藏的用于弹层的所有客户的列表的相关设置
        var user_result_table_options = {
            elem: '#user_result'
            ,url: '/project/users'
            ,method : 'get'
            ,title : '用户列表'
            , page: true
            , limit: 10
            , limits: [10, 20, 30]
            , request: {
                pageName: 'page' //页码的参数名称，默认：page
                , limitName: 'size' //每页数据量的参数名，默认：limit
            }
            , cols: [
                [
                    {type: 'checkbox', fixed: 'left'},
                    {
                        field: 'id',
                        title: '用户id',
                        align: 'center'
                    },
                    {
                        field: 'userName',
                        title: '用户名',
                        align: 'center'
                    },
                    {
                        title: '操作',
                        fixed: 'right',
                        align: 'center',
                        toolbar: '#hidden1-table-tool'
                    }
                ]
            ]
        };
        //点击弹出的弹层上的表格中“选中”按钮的触发函数
        function tool_event_handler(obj) {
            // console.info(obj);
            var data = obj.data;
            switch (obj.event) {
                case 'select':
                    layui.$('#projectManager').val(data.userName);
                    layui.$('#manager').val(data.id);
                    layui.layer.close(layer.index);
                    break;
            }
        }
        // 输入框的光标聚焦事件的触发函数， 弹出弹层，弹层上显示所有的客户，以供选择。
        function input_focus_handler() {
            layer.open({
                type : 1
                , area : [ '600px', '450px' ]
                , content : $('#hidden1')
                , success : function () {
                    // 重新加载表格中的数据
                    layui.table.reload('user_result', user_result_table_options);
                    layui.$('#hidden1').css('display', 'block');
                }
            });
        }
        // part 2: 让layui渲染页面
        layui.table.render(user_result_table_options); // 渲染页面上的table. table中 的数据是通过 ajax 请求从后台获取。

        // part 3: 让 layui 为页面的元素绑定事件处理函数
        layui.table.on('tool(projectManager_result)', tool_event_handler); // 为页面上的table上的tool绑定事件处理函数

        // part 4: 为输入框绑定光标聚焦事件的触发该函数，
        layui.$('#projectManager').focus(input_focus_handler);

        //创建一个编辑器
        var editIndex = layedit.build('LAY_demo_editor');

        //自定义验证规则
        form.verify({
            title: function (value) {
                if (value.length < 5) {
                    return '标题至少得5个字符啊';
                }
            }
            , pass: [/(.+){6,12}$/, '密码必须6到12位']
            , content: function (value) {
                layedit.sync(editIndex);
            }
        });

        //监听指定开关
        form.on('switch(switchStatus)', function (data) {
            this.value = this.checked ? "0" : "1";
        });

        var $ = layui.$;
        //监听提交
        form.on('submit(formDemo)', function (data) {
            data.field.status = data.field.status ? "0" : "1";
            var deptId = selectCheckeds();
            if(deptId==''||deptId==null||deptId==undefined){
                layer.msg('请选择部门！')
                return false;
            }
            data.field.deptId = deptId;
            console.log(data)
            $.ajax({
                type: 'PUT',
                url: "/project/update/" + $("#id").val(),
                data: data.field,
                success: function (res) {
                    if (res.code == 0) {
                        layer.msg("修改成功", {
                            time: 800
                        }, function () {
                            // 关闭自己
                            var index = parent.layer.getFrameIndex(window.name);
                            parent.layer.close(index);
                            window.parent.location.reload();
                        });
                    } else {
                        layer.msg("修改失败" + res.msg);
                    }
                }
            });
            return false;
        });
    });
    function selectCheckeds() {
        var menuIds = "";
        var treeNodes = tree.getCheckedNodes(true);
        for (var i = 0; i < treeNodes.length; i++) {
            if (treeNodes[i].getCheckStatus().half != true) {
                if (menuIds == "") {
                    menuIds = treeNodes[i].id;
                } else {
                    menuIds += ("," + treeNodes[i].id);
                }
            }
        }
        return menuIds;
    }
    function selectCheckNode(treeName, node) {
        if (treeName == node.name) {
            tree.selectNode(node, true);
        }
    }
</script>
<script>
    // 树结构初始化加载
    var setting = {
        check: {enable: true, nocheckInherit: true, chkboxType: {"Y": "ps", "N": "ps"}},
        view: {selectedMulti: false}, data: {key: {title: "title"}, simpleData: {enable: true}},
        callback: {
            onClick: function (event, treeId, treeNode) {
                var treeId = treeNode.id;
                var treeName = treeNode.name;
                $("#treeId").val(treeId);
                $("#treeName").val(treeName);
            }
        }
    }, tree, loadTree = function () {
        $.get("/system/dept/treeData?projectId="+$("#id").val(), function (data) {
            var treeName = $("#treeName").val();
            tree = $.fn.zTree.init($("#tree"), setting, data);
            // 展开第一级节点
            var nodes = tree.getNodesByParam("level", 0);
            for (var i = 0; i < nodes.length; i++) {
                tree.expandNode(nodes[i], true, false, false);
                selectCheckNode(treeName, nodes[i]);
            }
            // 展开第二级节点
            nodes = tree.getNodesByParam("level", 1);
            for (var i = 0; i < nodes.length; i++) {
                tree.expandNode(nodes[i], true, false, false);
                selectCheckNode(treeName, nodes[i]);
            }
            // 展开第二级节点
            nodes = tree.getNodesByParam("level", 2);
            for (var i = 0; i < nodes.length; i++) {
                tree.expandNode(nodes[i], true, false, false);
                selectCheckNode(treeName, nodes[i]);
            }
        }, null, null, "正在加载，请稍后...");
    };

    $(function () {
        loadTree();
    });
</script>
<script>
    console.log("这是修改页面的isLeader")
    if([[${isLeader}]] == 1) {
        console.log("只是项目经理")
        layui.$('#pro-manager').css("display","none")
        layui.$('#select-dept').css("display","none")

    }
</script>
</body>
</html>